The present invention relates generally to interface devices between humans and computers, and more particularly to computer interface devices that provide force feedback to the user.
Computer systems are used extensively in many different industries to implement computer controlled simulations, games, and other application programs. More particularly, these types of games and simulations are very popular with the mass market of home consumers. A computer system typically displays a visual environment to a user on a display screen or other visual output device. Users can interact with the displayed environment to play a game, experience a simulation or "virtual reality" environment, or otherwise influence events or images depicted on the screen. Such user interaction can be implemented through the use of a human-computer interface device, such as a joystick, "joypad" button controller, mouse, trackball, stylus and tablet, or the like, that is connected to the computer system controlling the displayed environment. The computer updates the simulation or game in response to the user's manipulation of an object such as a joystick handle or mouse, and provides feedback to the user utilizing the display screen and, typically, audio speakers.
In some interface devices, tactile ("haptic") feedback is also provided to the user, more generally known as "force feedback." These types of interface devices can provide physical sensations to the user manipulating the object of the interface device. Typically, motors or other actuators are coupled to the object and are connected to the controlling computer system. The computer system can provide forces on the object in conjunction with simulation/game events by sending control signals to the actuators. The computer system can thus convey physical sensations to the user in conjunction with other supplied feedback as the user is grasping or contacting the object of the interface device. Force feedback interface devices can thus provide a whole new modality for human-computer interaction.
Force feedback input/output (I/0) devices of the prior art have concentrated on providing maximum haptic fidelity, i.e., the realism of the tactile feedback was desired to be optimized. This is because most of the force feedback devices have been targeted at the specific needs of highly industrial applications, and not a mass consumer market. To attain such realism, mass market design concerns such as low size and weight, low complexity, programming compatibility, low cost, and safety have been sacrificed in the prior art. As a result, typical force feedback interface devices include complex robotic mechanisms which require precision components and expensive actuators.
An important concern for a force feedback interface device is communication bandwidth between the controlling computer and the interface device. To provide realistic force feedback, the complex devices of the prior art typically use high speed communication electronics that allow the controlling computer to quickly update force feedback signals to the interface device. The more quickly the controlling computer can send and receive signals to and from the interface device, the more accurately and realistically the desired forces can be applied on the interface object. In addition, using a high bandwidth communication interface, force feedback can be accurately coordinated with other supplied feedback, such as images on the video screen, and with user inputs such as movement of the object, activated buttons, etc. For example, a user can grasp and move a force feedback joystick in a simulation to control an image of a car to drive over a virtual bumpy surface displayed on a screen. The controlling computer should provide control signals to the actuators of the joystick quickly enough so that the surface feels as realistically bumpy as the designer of the simulation intended. If the control signals are too slow, a realistic feeling of bumpiness is more difficult to provide. Also, the controlling computer needs a high bandwidth communication interface to accurately coordinate the supplied forces with the visual feedback on the screen, such as the moment on the screen when the car first contacts the bumpy surface. This high speed is likewise needed to accurately coordinate supplied forces with any input from the user, for example, to steer the car in particular directions.
A problem is evident when prior art force feedback interface devices are provided to the mass consumer market. Most home computers have a built-in standard serial communication interfaces, such as an RS-232 or RS-422 interface, that may conveniently be used to connect peripherals like a force feedback interface device to the host computer. In addition, manufacturers prefer to provide peripheral devices that use these serial interfaces, since no additional hardware, such as interface cards, needs to be provided with such peripherals. The manufacturing cost of the peripheral device can thus be significantly reduced. However, these standard serial communication interfaces are typically quite slow (i.e. have low bandwidth) compared to other communication interfaces. Realistic and accurate force feedback thus becomes difficult to provide by a controlling computer system to a prior art interface device connected through such a serial interface. For example, U.S. Pat. No. 5,184,319, by J. Kramer, describes a force feedback device that applies forces to a user's body parts. However, the Kramer device is typical of the prior art in that the host computer directly controls the actuators and directly receives the sensor data from the interface apparatus. Such a device is not suitable for a low bandwidth communication interface to achieve realistic force feedback.
Another problem with using prior art force feedback interface devices in the mass consumer market is the wide variety of computer platforms and processing speeds that are used on different computers and on the same computer at different times. The force sensations provided to a user by a force feedback interface device may feel different to a user on different computer platforms or microprocessors, since these different computers run at different speeds. For example, the force feedback controlled by a 100 MHz computer may be much different from the force feedback controlled by a 60 MHz computer due to the different rates of processing control signals, even though these forces are intended to feel the same. In addition, the effective processing speed of one microprocessor can vary over time to provide inconsistent forces over multiple user sessions. For example, multitasking can vary or delay a microprocessor's management of force feedback control signals depending on other programs that are running on the microprocessor.
In addition, there is no standardized language or communication protocol for communicating with force feedback devices. A software developer that wishes to provide force feedback to an interface in a software application must currently set up his or her own specialized commands and/or communications protocols and must implement the force feedback controlling instructions at a low level. This requires unnecessary time and expense in the development of software applications that include features directed toward force feedback interfaces.
Therefore, a more realistic, cost effective, and standardized alternative to force feedback interfaces and force feedback control paradigms is desired for certain applications.